Method and apparatus for establishing ultra-large character library and method and apparatus for displaying character

ABSTRACT

A method and apparatus for establishing an ultra-large character library and a method and apparatus for displaying a character are disclosed. The displaying method comprises: intercepting by a font engine middleware a font invoking message sent from a system font engine, the font invoking message comprising a character code and a font name corresponding to a character to be displayed by an application; acquiring outline data corresponding to the character from an ultra-large character library in a non-standard format based on the character code and font name; transmitting the outline data of the character to the system font engine to enable the system font engine to display the character according to the character outline data. With this invention, the capacity of the character library may be increased and characters in the non-standard-format ultra-large character library may be recognized conveniently, thus efficiency of character retrieval and display is improved.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a national application of PCT/CN2013/088623, filedon Dec. 5, 2013, which is incorporated herein by reference in itsentirety.

BACKGROUND

1. Technical Field

This invention relates to the technical field of computer text entry,and particularly to a method and apparatus for establishing anultra-large character library and a method and apparatus for displayinga character.

2. Description of the Related Art

Character libraries commonly used in the art generally have only a smallnumber, generally about 6000, of characters. Thus it is possible tocontain all of such small number of characters in one character libraryfile. Even in the character library of GBK or 18030 code, there are onlyabout 20,000-30,000 characters and it is also possible to hold anddisplay these characters by using one character library file. However,in some occasions, more characters are needed, for example, those usedin some special domains, and as a result, the number of characters to bestored in a character library may exceed 60,000. Due to the limitationof the data structure of character libraries, it might be very difficultto store so many characters in a single character library. Even instoring so many characters in a single character library, displayingthose characters will be problematic. In this case, those charactershave to be divided into two groups and are stored into two or even morecharacter library files separately. A “font link” method has beenprovided by Microsoft Corporation, with which two character librariescan be linked together. For example, in the case of character librariesA and B storing different parts of characters therein separately, whenthe character library A is specified as the selected font, if the userenters a character stored in the character library B, this character canalso be displayed by utilizing the font link method. This method issimple but has some defects, particularly, in the case of displayingcharacters on other planes than plane 0 (Characters on plane 0 haveUnicode codes in the range of 0X0000-0xFFFF. Characters on plane 1 haveUnicode codes in the range of 0X10000-0x1FFFF, characters on plane 2have Unicode codes in the range of 0X20000-0x2FFFF, and so on), in someoccasions, it is unable to invoke or display those characters. Further,as the number of characters to be coded increases, it is necessary tolink more and more character libraries, and thus the efficiency ofcharacter retrieval and display is deteriorating.

SUMMARY OF THE INVENTION

An aspect of this invention is to provide a method and apparatus forestablishing an ultra-large character library, in order to solve theproblem in the prior art that the number of characters contained in acharacter library is limited due to the limitation of the data structureof the character library.

Another aspect of this invention is to provide a method and apparatusfor displaying a character, in order to easily and conveniently identifycharacters in an ultra-large character library in a non-standard format,so as to improve the efficiency of character retrieval and display.

Thus, this invention provides the following technical solutions:

A method for establishing an ultra-large character library, comprising:

-   -   establishing a boot character library;    -   establishing an ultra-large character library in a non-standard        format;    -   creating a font engine middleware for interpreting the        ultra-large character library.

Preferably, the boot character library comprises only basic ASCIIsymbols.

Preferably, codes in the ultra-large character library in thenon-standard format are 4-byte codes.

Preferably, the ultra-large character library in the non-standard formatcomprises: a code table for storing a correspondence between charactercodes and indexes, a position information table for storing acorrespondence between the indexes and character data offsets, and aglyph table for storing character outline data.

A method for displaying a character, comprising:

-   -   intercepting, by a font engine middleware, a font invoking        message sent from a system font engine, the font invoking        message comprising a character code and a font name        corresponding to a character to be displayed by an application;    -   acquiring outline data corresponding to the character from an        ultra-large character library based on the character code and        the font name, the ultra-large character library being a        character library in a non-standard format;    -   transmitting the outline data of the character to the system        font engine, to enable the system font engine to display the        character according to the character outline data.

Preferably, intercepting by a font engine middleware a font invokingmessage sent from a system font engine comprises:

-   -   intercepting the font invoking message by the font engine        middleware using a hook function, and obtaining the character        code and the font name.

Preferably, acquiring outline data corresponding to the character froman ultra-large character library based on the character code and thefont name comprises:

-   -   searching the ultra-large character library for a font file        based on the font name;    -   obtaining an index value corresponding to the character code        from the found font file based on the character code;    -   obtaining outline data of the character from a character outline        data table based on the index value.

An apparatus for establishing an ultra-large character library,comprising:

-   -   a boot character library establishing unit, configured for        establishing a boot character library;    -   an ultra-large character library establishing unit, configured        for establishing an ultra-large character library in a        non-standard format;    -   a middleware creating unit, configured for creating a font        engine middleware for interpreting the ultra-large character        library.

An apparatus for displaying a character, comprising:

-   -   an interception unit, configured for intercepting a font        invoking message sent from a system font engine, the font        invoking message comprising a character code and a font name        corresponding to a character to be displayed by an application;    -   an outline data acquisition unit, configured for acquiring        outline data corresponding to the character from an ultra-large        character library based on the character code and the font name,        the ultra-large character library being a character library in a        non-standard format;    -   a transmission unit configured for transmitting the outline data        of the character to the system font engine to enable the system        font engine to display the character according to the character        outline data.

Preferably, the interception unit is configured to intercept the fontinvoking message by using a hook function, and obtain the character codeand the font name.

Preferably, the outline data acquisition unit comprises:

-   -   a font file searching subunit, configured for searching the        ultra-large character library for a font file based on the font        name;    -   an index value searching subunit, configured for obtaining an        index value corresponding to the character code from the found        font file based on the character code;    -   an obtaining subunit, configured for obtaining outline data of        the character from a character outline data table according to        the index value.

The method and apparatus for establishing an ultra-large characterlibrary according to embodiments of the present invention adopt theultra-large character library in a non-standard format, and thus allowmore characters to be accommodated therein. Meanwhile, in order toenable the system font engine to recognize characters contained in theultra-large character library, a corresponding font engine middlewareand a boot character library are established accordingly.

Based on the above boot character library and the font enginemiddleware, with the method and apparatus for displaying characteraccording to embodiments of the present invention, the ultra-largecharacter library can be interpreted by the system font engine with theassistance of the font engine middleware, information regarding thecharacter to be displayed is retrieved from the ultra-large characterlibrary, and is reconfigured into an information format required by thesystem font engine, and then sent to the system font engine; finally,the system font engine displays the character on a user interface. Indoing so, the problems in the prior art that the efficiency ofinvocation through the linking mechanism is low and it is unable toinvoke characters in different character libraries from each other maybe solved.

With this invention, the number of characters contained in a singlecharacter library may be increased, and characters in the ultra-largecharacter library in the non-standard format may be identified easilyand conveniently. Thus, the efficiency of character retrieval anddisplaying is improved.

BRIEF DESCRIPTION OF THE DRAWINGS

To clearly illustrate embodiments of the present application or thosesolutions in the prior art, a simple description of accompanyingdrawings used in the embodiments will be made below. Apparently,drawings to be described below represent merely some embodiments of thisinvention, from which other drawings maybe derived by those skilled inthe art.

FIG. 1 is a flowchart of a method for establishing an ultra-largecharacter library according to an embodiment of this invention;

FIG. 2 is a schematic diagram showing a structure of an apparatus forestablishing an ultra-large character library according to an embodimentof this invention;

FIG. 3 is a flowchart of displaying a character contained in a characterlibrary in the prior art;

FIG. 4 is a flowchart of a method for displaying a character accordingto an embodiment of this invention; and

FIG. 5 is a schematic diagram showing a structure of an apparatus fordisplaying a character according to an embodiment of this invention.

DESCRIPTION OF THE EMBODIMENTS

To achieve a better understanding of the solutions of embodimentsaccording to the present invention for those skilled in the art, theembodiments of the present invention will be described in details withreference to the accompanying drawings in the following.

With the TrueType character library commonly used in current operatingsystems, it is unable to construct a single ultra-large characterlibrary containing more than 65535 characters. Due to the limitation ofthe data structure of the character library format, the characterlibrary cannot accommodate more than 65535 characters. Even if more than65535 characters are stored in the character library, those characterscannot be invoked by the font engine of the operating system, or eventhe character library would be considered as invalid. Most of existingmethods for solving this problem adopt font linking, by which two ormore character libraries are linked together for the purpose ofdisplaying more characters. However, such method has still somedrawbacks that, for example, in the current operating systems, in thecase of a character library including CJK-ExtB characters of the ISO/IEC10646 coded character set, characters in a character library includingCJK-Ext A characters can be entered and displayed through font linking,but not vice versa; upon font linking two character libraries eachincluding a basic plane and Plane 2 of the ISO/IEC 10646 coded characterset, characters on their Planes 2 cannot be invoked from each other; andso on. As the number of characters to be coded increases, more and moreplanes have been used in the ISO/IEC 10646 coded character set, and moreand more character libraries need to be linked, resulting in even moredeteriorated efficiency of character retrieval.

In view of this, a method and apparatus of establishing an ultra-largecharacter library are provided in embodiments of this invention. On thebasis of an existing character library format and displaying method, aTrueType-based ultra-large character library capable of storing morecharacters is established. To address the problem of not supporting thisnon-standard format by current operating systems, a font enginemiddleware and a boot character library are established.

Correspondingly, based on this kind of ultra-large character library, acharacter display method and apparatus are also provided in embodimentsof this invention. An ultra-large character library in a non-standardformat is interpreted by a system font engine with the assistance of afont engine middleware. Information regarding a character to bedisplayed is retrieved from the ultra-large character library, and isreconfigured into an information format required by the system fontengine, and then sent to the system font engine. Finally, the systemfont engine displays the character on a user interface.

As shown in FIG. 1, the method of establishing an ultra-large characterlibrary according to an embodiment of the present invention comprisesthe following steps:

Step 101: establishing a boot character library.

Compared with existing character libraries in the standard format, theboot character library may be in a standard format, but comprise onlybasic ASCII symbols, no actual Chinese characters.

Step 102: establishing an ultra-large character library in anon-standard format.

In establishing the ultra-large character library, due to the largenumber of characters which cannot be all contained in a standard-formatcharacter library, the characters are stored in a non-standard format.That is to say, the ultra-large character library is a character libraryin a non-standard format. Particularly, some modifications may be madeto the existing standard format, for example, the number of bytes of acode may be changed from 2 to 4, so that up to 0xFFFFFFFF characters maybe stored, instead of 0xFFFF as the original format, which may meet therequirement of the ultra-large character library.

Characters to be stored may be organized into a character library in adesired way by respective font developers or individuals. Due to thelarge number of characters, the characters may not be organizedcompletely in the standard format. Thus, a dedicated font engine isrequired for interpretation.

The ultra-large character library in the non-standard format may mainlycomprise: a code table for storing a correspondence between charactercodes and indexes, a position information table for storing acorrespondence between the indexes and character data offsets, a glyphtable for storing character outline data, and so on. Compared with theexisting standard-format character library, in the ultra-large characterlibrary, improvements are made on the codes, the indexes and the offsetsto expand their scopes, enabling the ultra-large character library toaccommodate more characters.

Step 103: creating a font engine middleware for interpreting theultra-large character library.

Only standard-format character library may be directly interpreted bythe existing system font engine, and a character library in anon-standard format will be regarded as invalid by the system fontengine. Thus, in order to recognize characters contained in theultra-large character library, in the embodiment of the presentinvention, a font engine middleware is established, such that the systemfont engine may invoke the font engine middleware to assist theinterpretation of the ultra-large character library, retrieveinformation regarding a character to be displayed from the ultra-largecharacter library, reconfigure it into an information format required bythe system font engine, and then send the reconfigured information tothe system font engine. Finally, the system font engine displays thecharacter on a user interface.

The ultra-large character library described in this embodiment of thepresent invention is particularly suitable for companies or individualswishing to store more than 60,000 characters in a single characterlibrary.

It can be seen that, with the method of the embodiment of the presentinvention, the capacity of the character library may be increased,enabling users to conveniently and easily use different characters.

Correspondingly, an apparatus of establishing an ultra-large characterlibrary is also provided in an embodiment of this invention. FIG. 2shows a schematic diagram of the structure of this apparatus.

In this embodiment, the apparatus 200 comprises: a boot characterlibrary establishing unit 201, an ultra-large character libraryestablishing unit 202 and a middleware creating unit 203. The bootcharacter library establishing unit 201 is configured to establish aboot character library. The ultra-large character library establishingunit 202 is configured for establishing an ultra-large character libraryin a non-standard format. The middleware creating unit 203 is configuredfor creating a font engine middleware for interpreting the ultra-largecharacter library.

Correspondingly, based on the non-standard-format ultra-large characterlibrary as described above, a method of displaying a character is alsoprovided in an embodiment of this invention. To make those skilled inthe art better understand the solution of the embodiment of the presentinvention and differences between the solution of the embodiment of thepresent invention and the prior art, firstly, a brief description of amethod for displaying a character in the prior art will be made below.

As shown in FIG. 3, in the prior art, a method of displaying a charactercontained in a character library comprises the following steps:

Step 301: sending, to system font engine, a character code and a fontname corresponding to a character to be displayed by an application.

Step 302: searching for font file by the system font engine based on thefont name.

Step 303: searching the found font file for the character by the systemfont engine based on the font code.

Particularly, the searching may be performed according to a code-indexcorrespondence table in the font file.

Step 304: obtaining outline data of this character from characteroutline data table based on corresponding index value if the characterhas been found in the font file.

Step 305: displaying the character according to the obtained outlinedata by the system font engine.

Because the storage range of such ultra-large character library asdescribe above exceeds the standard range, this non-standard-formatultra-large character library cannot be supported by existing operatingsystems. Thus, in the method of displaying the character according tothe embodiment of the present invention, the system font engine invokesa font engine middleware to facilitate the retrieve and displaying ofcharacters contained in the ultra-large character library, greatlyimproving the efficiency of displaying character.

As shown in FIG. 4, the flowchart of the method for displaying acharacter according to an embodiment of the present invention comprisesthe following steps:

Step 401: a font engine middleware intercepts a font invoking messagesent from a system font engine to a boot character library, the fontinvoking message comprising a character code and a font namecorresponding to a character to be displayed by an application.

Particularly, the font engine middleware intercepts the font invokingmessage by using a hook function available on the WINDOWS operatingsystems, and obtains the character code and the font name. The hookfunction may intercept not only messages transmitted in WINDOWSoperating systems, but also calls to function, including applicationcalls to function or operating system calls to function.

Step 402: the font engine middleware acquires outline data correspondingto the character from an ultra-large character library in a non-standardformat based on the character code and the font name.

Compared with existing standard-format character libraries, theultra-large character library may contain information regarding morecharacter codes and more outline data.

In a particular implementation, a one-to-one correspondence may beestablished between the boot character library and the ultra-largecharacter library, and then may be introduced into the font enginemiddleware. When the font engine middleware knows that the system fontengine wants to invoke the boot character library, it may convert theaccess of the system font engine to the boot character library into anaccess to the ultra-large character library according to thecorrespondence.

The process of obtaining outline data from the ultra-large characterlibrary by the font engine middleware is similar to the process ofobtaining outline data from the boot character library by the existingsystem font engine. Firstly, it is required to determine a font file tobe read based on the intercepted font name. Then, an index valuecorresponding to the character code is obtained based on the interceptedcharacter code and a CMAP table (character code-index correspondencetable) in the font file. Then, according to the index value, an offsetof a character corresponding to the index value in a GLYF table is foundin a LOCA table. After obtaining this offset, glyph outline data may bedirectly read out from the GLYF table. The GLYF table stores glyphoutline data of all characters.

It should be noted that the above CMAP table, the LOCA table, and theGLYF table are similar as corresponding ones in the character librariesin the prior art, and will not be described in detail herein.

Step 403: the outline data of the character is returned to the systemfont engine to enable the system font engine to display the characteraccording to the character outline data.

In the character displaying method of the embodiment of the presentinvention, the font engine middleware is used to intercept a fontinvoking message sent from the system font engine to the boot characterlibrary, so that the access of the system font engine to the bootcharacter library is converted into an access of the font enginemiddleware to the ultra-large character library. After the access to theultra-large character library, glyph outline data thus obtained isreturned to the system font engine, thereby the retrieve and displayingof the character in the ultra-large character library maybe realized ina simple and convenient manner, greatly increasing the efficiency ofcharacter displaying. From the view of the application layer, it appearsthat the access is performed by the system font engine itself, withoutany effect on users' experience.

Further, an apparatus for displaying a character is provided in anembodiment of the present invention. FIG. 5 shows a schematic diagram ofthe structure of this apparatus.

In this embodiment, the apparatus comprises:

an interception unit 501, configured for intercepting a font invokingmessage sent from a system font engine, the font invoking messagecomprising a character code and a font name corresponding to a characterto be displayed by an application;

a outline data acquisition unit 502, configured for acquiring outlinedata corresponding to the character from an ultra-large characterlibrary based on the character code and the font name, the ultra-largecharacter library being a character library in a non-standard format;

a transmission unit 503, configured for transmitting the outline data ofthe character to the system font engine to enable the system font engineto display the character according to the character outline data.

Compared with existing standard-format character libraries, theultra-large character library may contain information regarding morecharacter codes and more outline data, and its content is similar tothat of the standard-format character library, which has been describedabove and will not be described in detail herein.

In an actual application, the interception unit 501 may use a hookfunction to intercept the font invoking message, and obtain thecharacter code and the font name.

The outline data acquisition unit 502 comprises: a font file searchingsubunit, an index value searching subunit, and an obtaining subunit (notshown).

The font file searching subunit is configured for searching theultra-large character library for a font file based on the font name.The index value searching subunit is configured for obtaining an indexvalue corresponding to the character code from the found font file basedon the character code. The obtaining subunit is configured for obtainingoutline data of the character from a character outline data tableaccording to the index value.

In the apparatus for displaying a character according to the embodimentof the present invention, the font invoking message sent from the systemfont engine to the boot character library is intercepted, so that theaccess of the system font engine to the boot character library isconverted into an access of the font engine middleware to theultra-large character library. After the access to the ultra-largecharacter library, glyph outline data thus obtained is returned to thesystem font engine, thereby the retrieve and display of the charactermay be realized in a simple and convenient manner, greatly increasingefficiency of character displaying. From the view of the applicationlayer, it appears that the access is performed by the system font engineitself, without any effect on users' experience.

It should be noted that the character displaying method and apparatusaccording to the embodiment of the present invention may be applicableto a variety of applications to meet a various requirements of thoseapplications, and are fast and efficient.

The embodiments in the present specification are described in aprogressive manner. For the same or similar parts of variousembodiments, reference may be made among the embodiments. Eachembodiment focuses on the differences from other embodiments.Particularly, because the apparatus embodiments basically correspond tothe method embodiments, reference can be made to the description of themethod embodiments for relevant parts. The apparatus embodimentsdescribed above are merely illustrative, in which elements that aredescribed as separated parts may be or may not be physically separatedfrom each other, and those ones shown individually may be or may not bephysical elements, which may be positioned at one position or may bedistributed over multiple network units. Some or all modules thereof maybe selected as required to realize the object of the embodiments of thisinvention as can be understood and implemented by those skilled in theart without any creative effort.

This disclosure also provides one or more computer readable mediumhaving stored thereon computer-executable instructions that whenexecuted by a computer perform various steps of the method forestablishing an ultra-large character library and the method fordisplaying a character as described above.

This disclosure also provides a computer with one or more computerreadable medium having stored thereon computer-executable instructionsthat when executed by the computer perform various steps of the methodfor establishing an ultra-large character library and the method fordisplaying a character as described above.

Exemplary Operating Environment

The computer or computing device as described herein comprises hardware,including one or more processors or processing units, system memory andsome types of computer readable media. By way of example and notlimitation, computer readable media comprise computer storage media andcommunication media. Computer storage media comprises volatile ornon-volatile, removable or non-removable media implemented in any methodor technology for storage of information such as computer readableinstructions, data structures, program modules or other data.Communication media typically embody computer readable instructions,data structures, program modules, or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includeany information delivery media. Combinations of any of the above arealso included within the scope of computer readable media.

The computer may use one or more remote computers, such as logicalconnections to remote computers operated in a networked environment.Although various embodiments of the present disclosure are described inthe context of the exemplary computing system environment, variousembodiments of the present disclosure may be used with numerous othergeneral purpose or application specific computing system environments orconfigurations. The computing system environment is not intended forlimiting any aspect of the scope of use or functionality of theinvention. In addition, the computer environment should not beinterpreted as depending on or requiring any one or combination ofcomponents shown in the exemplary operating environment. Well-knownexamples of the computing systems, the environment and/or configurationssuitable for all aspects of the present disclosure include, but are notlimited to: personal computers, server computers, handheld or laptopdevices, multiprocessor systems, microprocessor-based systems, set topboxes, programmable consumer electronics, mobile phone, network PC,minicomputers, mainframe computers, distributed computing environmentsincluding any one of the above systems or devices, and so on.

Various embodiments of the invention may be described in a generalcontext of computer executable instructions such as program modulesexecuted on one or more computers or other devices. Thecomputer-executable instructions may be organized into one or morecomputer-executable components or modules as software. Generally,program modules include, but are not limited to, routines, programs,objects, components, and data structures that perform particular tasksor implement particular abstract data types. Aspects of the inventionmaybe implemented with any number and organization of such components ormodules. For example, aspects of the invention are not limited to thespecific computer-executable instructions or the specific components ormodules illustrated in the figures and described herein. Otherembodiments of the invention may include different computer-executableinstructions or components having more or less functionality thanillustrated and described herein. Aspects of the invention may also bepracticed in distributed computing environments where tasks areperformed by remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote computer storage mediaincluding memory storage devices.

It is possible to carry out the method and apparatus of the presentinvention in many ways. For example, it is possible to carry out themethod and apparatus of the present invention through software,hardware, firmware or any combination thereof. The above described orderof the steps for the method is only intended to be illustrative, and thesteps of the method of the present invention are not limited to theabove specifically described order unless otherwise specifically stated.Besides, in some embodiments, the present invention may also be embodiedas programs recorded in recording medium, including machine-readableinstructions for implementing the method according to the presentinvention. Thus, the present invention also covers the recording mediumwhich stores the program for implementing the method according to thepresent invention.

Some specific embodiments have been described above only by the way ofexamples, but would not limit the protection scope of the presentinvention. Those skilled in the art may readily make any modificationand variation to the invention without departing from the spirit andscope of the invention, and such modifications and variations of theinvention would be encompassed within the protection scope of theinvention.

What is claimed is:
 1. A method for establishing an ultra-largecharacter library, comprising: establishing a boot character library;establishing an ultra-large character library in a non-standard format;creating a font engine middleware for interpreting the ultra-largecharacter library.
 2. The method according to claim 1, wherein the bootcharacter library comprises only basic ASCII symbols.
 3. The methodaccording to claim 1, wherein codes in the ultra-large character libraryin the non-standard format are 4-byte codes.
 4. The method according toclaim 3, wherein the ultra-large character library in the non-standardformat comprises: a code table for storing a correspondence betweencharacter codes and indexes, a position information table for storing acorrespondence between the indexes and character data offsets, and aglyph table for storing character outline data.
 5. A method fordisplaying a character, comprising: intercepting, by a font enginemiddleware, a font invoking message sent from a system font engine, thefont invoking message comprising a character code and a font namecorresponding to a character to be displayed by an application;acquiring outline data corresponding to the character from anultra-large character library based on the character code and the fontname, the ultra-large character library being a character library in anon-standard format; transmitting the outline data of the character tothe system font engine, to enable the system font engine to display thecharacter according to the character outline data.
 6. The methodaccording to claim 5, wherein intercepting by a font engine middleware afont invoking message sent from a system font engine comprises:intercepting the font invoking message by the font engine middlewareusing a hook function, and obtaining the character code and the fontname.
 7. The method according to claim. 5, wherein acquiring outlinedata corresponding to the character from an ultra-large characterlibrary based on the character code and the font name comprises:searching the ultra-large character library for a font file based on thefont name; obtaining an index value corresponding to the character codefrom the found font file based on the character code; obtaining outlinedata of the character from a character outline data table based on theindex value.
 8. An apparatus for establishing an ultra-large characterlibrary, comprising: a boot character library establishing unit,configured for establishing a boot character library; an ultra-largecharacter library establishing unit, configured for establishing anultra-large character library in a non-standard format; a middlewarecreating unit, configured for creating a font engine middleware forinterpreting the ultra-large character library.
 9. An apparatus fordisplaying a character, comprising: an interception unit, configured forintercepting a font invoking message sent from a system font engine, thefont invoking message comprising a character code and a font namecorresponding to a character to be displayed by an application; anoutline data acquisition unit, configured for acquiring outline datacorresponding to the character from an ultra-large character librarybased on the character code and the font name, the ultra-large characterlibrary being a character library in a non-standard format; atransmission unit configured for transmitting the outline data of thecharacter to the system font engine to enable the system font engine todisplay the character according to the character outline data.
 10. Theapparatus according to claim 9, wherein the interception unit isconfigured to intercept the font invoking message by using a hookfunction, and obtain the character code and the font name.
 11. Theapparatus according to claim 9, wherein the outline data acquisitionunit comprises: a font file searching subunit, configured for searchingthe ultra-large character library for a font file based on the fontname; an index value searching subunit, configured for obtaining anindex value corresponding to the character code from the found font filebased on the character code; an obtaining subunit, configured forobtaining outline data of the character from a character outline datatable according to the index value.